import Vue from 'vue'
import Vuex from 'vuex'
import actions from './actions.js'
import mutations from './mutations.js'
Vue.use(Vuex)

const state = {
  // 是否登录,这样用session好像不会响应式啊,我改session里的值这里不会有变化啊
  isLogin: window.sessionStorage.getItem('isLogin') || false, // 是字符串
  // 账号信息
  account: window.sessionStorage.getItem('account') || {},
  // 用户信息
  profile: window.sessionStorage.getItem('profile') || {},
  // 歌单信息,包括自建的和收藏的,使用过滤区分userId来区分二者
  playList: window.sessionStorage.getItem('playList') || [],

  /* 播放音乐有关start */
  // 播放列表,直接存歌曲信息对象,不存id
  musicList: [],
  // 播放状态
  isPlay: false,
  // 当前播放歌曲在列表中所处位置
  curIndex: -1,
  curSong: {
    songInfo: {}, // 我认为当前歌曲的信息,不用保存到vuex中,直接在组件自己用就好,但是播放列表应该保存
    // 当前时间
    curTime: 0
  },
  musicUrl: '', // 当前歌曲播放资源路径,用于解决刷新播放状态是播放而不是暂停的问题,不请求了
  /* 播放音乐有关end */
  // 最近播放,不是存歌曲id了,直接存歌曲详情,因为最近播放的songList组件要用
  historyList: []
}

export default new Vuex.Store({
  state,
  actions,
  mutations,
  modules: {
  }
})
